package com.tcm.order.domain.vo;

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 
 * @Description:订单
 * @author biuco
 * 2020年3月8日下午4:07:01
 *
 */
@Data
public class OrderVo implements Serializable {

	private static final long serialVersionUID = -1502505888265346945L;

	private Long id;

	private String orderSn;

	private Long doctorId;

	private String doctor;

	private String department;

	private Long userId;

	private String userName;

	private String userPhone;

	private Long addressId;

	private String addressPhone;

	private String addressConsignee;

	private String addressDetail;

	private Long storeId;

	private String storeLogo;

	private String storeName;

	private Long planId;

	private String planType;

	private String dosageForm;

	private String prescription;

	private Boolean visible;

	private BigDecimal billingMoney;

	private BigDecimal serviceMoney;

	private BigDecimal drugMoney;

	private BigDecimal decoctingFee;

	private BigDecimal processCost;

	private BigDecimal payAmount;

	private Byte quantity;

	private BigDecimal totalMoney;

	private BigDecimal logisticsFee;

	private Long payId;

	private String payChannel;

	private String payCode;

	private String payTime;

	private String deliveryNo;

	private String deliveryTime;

	private String finishedTime;

	private Byte orderStatus;

	private Byte evalStatus;

	private String remark;

	private String cancelReason;

	private String createTime;

	private String updateTime;

	private Boolean hasExpired;

	private String leftTime;

	//用法详述
	private String usageDetail;

	//医嘱
	private String medicalAdvice;

	// 订单条目
	private List<OrderItemVo> orderItemVos;

	private Integer deductPoints;

	private BigDecimal deductPointMoney;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getOrderSn() {
		return orderSn;
	}

	public void setOrderSn(String orderSn) {
		this.orderSn = orderSn == null ? null : orderSn.trim();
	}

	public Long getDoctorId() {
		return doctorId;
	}

	public void setDoctorId(Long doctorId) {
		this.doctorId = doctorId;
	}

	public String getDoctor() {
		return doctor;
	}

	public void setDoctor(String doctor) {
		this.doctor = doctor == null ? null : doctor.trim();
	}

	public String getDepartment() {
		return department;
	}

	public void setDepartment(String department) {
		this.department = department;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getUserPhone() {
		return userPhone;
	}

	public void setUserPhone(String userPhone) {
		this.userPhone = userPhone;
	}

	public Long getUserId() {
		return userId;
	}

	public void setUserId(Long userId) {
		this.userId = userId;
	}

	public Long getAddressId() {
		return addressId;
	}

	public void setAddressId(Long addressId) {
		this.addressId = addressId;
	}

	public String getAddressPhone() {
		return addressPhone;
	}

	public void setAddressPhone(String addressPhone) {
		this.addressPhone = addressPhone == null ? null : addressPhone.trim();
	}

	public String getAddressConsignee() {
		return addressConsignee;
	}

	public void setAddressConsignee(String addressConsignee) {
		this.addressConsignee = addressConsignee == null ? null : addressConsignee.trim();
	}

	public String getAddressDetail() {
		return addressDetail;
	}

	public void setAddressDetail(String addressDetail) {
		this.addressDetail = addressDetail;
	}

	public Long getStoreId() {
		return storeId;
	}

	public void setStoreId(Long storeId) {
		this.storeId = storeId;
	}

	public Long getPlanId() {
		return planId;
	}

	public void setPlanId(Long planId) {
		this.planId = planId;
	}

	public String getPrescription() {
		return prescription;
	}

	public void setPrescription(String prescription) {
		this.prescription = prescription == null ? null : prescription.trim();
	}

	public Boolean getVisible() {
		return visible;
	}

	public void setVisible(Boolean visible) {
		this.visible = visible;
	}

	public BigDecimal getBillingMoney() {
		return billingMoney;
	}

	public void setBillingMoney(BigDecimal billingMoney) {
		this.billingMoney = billingMoney;
	}

	public BigDecimal getServiceMoney() {
		return serviceMoney;
	}

	public void setServiceMoney(BigDecimal serviceMoney) {
		this.serviceMoney = serviceMoney;
	}

	public BigDecimal getDrugMoney() {
		return drugMoney;
	}

	public void setDrugMoney(BigDecimal drugMoney) {
		this.drugMoney = drugMoney;
	}

	public static long getSerialVersionUID() {
		return serialVersionUID;
	}

	public String getDosageForm() {
		return dosageForm;
	}

	public void setDosageForm(String dosageForm) {
		this.dosageForm = dosageForm;
	}

	public BigDecimal getDecoctingFee() {
		return decoctingFee;
	}

	public void setDecoctingFee(BigDecimal decoctingFee) {
		this.decoctingFee = decoctingFee;
	}

	public BigDecimal getProcessCost() {
		return processCost;
	}

	public void setProcessCost(BigDecimal processCost) {
		this.processCost = processCost;
	}

	public BigDecimal getPayAmount() {
		return payAmount;
	}

	public void setPayAmount(BigDecimal payAmount) {
		this.payAmount = payAmount;
	}

	public Byte getQuantity() {
		return quantity;
	}

	public void setQuantity(Byte quantity) {
		this.quantity = quantity;
	}

	public BigDecimal getTotalMoney() {
		return totalMoney;
	}

	public void setTotalMoney(BigDecimal totalMoney) {
		this.totalMoney = totalMoney;
	}

	public BigDecimal getLogisticsFee() {
		return logisticsFee;
	}

	public void setLogisticsFee(BigDecimal logisticsFee) {
		this.logisticsFee = logisticsFee;
	}

	public Long getPayId() {
		return payId;
	}

	public void setPayId(Long payId) {
		this.payId = payId;
	}

	public String getPayChannel() {
		return payChannel;
	}

	public void setPayChannel(String payChannel) {
		this.payChannel = payChannel == null ? null : payChannel.trim();
	}

	public String getPayCode() {
		return payCode;
	}

	public void setPayCode(String payCode) {
		this.payCode = payCode == null ? null : payCode.trim();
	}

	public Byte getOrderStatus() {
		return orderStatus;
	}

	public void setOrderStatus(Byte orderStatus) {
		this.orderStatus = orderStatus;
	}

	public Byte getEvalStatus() {
		return evalStatus;
	}

	public void setEvalStatus(Byte evalStatus) {
		this.evalStatus = evalStatus;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark == null ? null : remark.trim();
	}

	public String getCancelReason() {
		return cancelReason;
	}

	public void setCancelReason(String cancelReason) {
		this.cancelReason = cancelReason == null ? null : cancelReason.trim();
	}

	public Boolean getHasExpired() {
//		if(this.hasExpired == null){
//			this.hasExpired = DateUtils.compare(LocalDateTimeUtils.localDateTimeToDate(this.getCreateTime()).toString(),
//					DateUtils.getTheDayBeforeNow(30).toString()) > 1;
//		}
		return hasExpired;
	}

	public void setOrderItemVos(List<OrderItemVo> orderItemVos){
		this.orderItemVos = orderItemVos;
	}

	public List<OrderItemVo> getOrderItemVos() {
		return orderItemVos;
	}

	public String getLeftTime() {
		return leftTime;
	}

	public void setHasExpired(Boolean hasExpired) {
		this.hasExpired = hasExpired;
	}

	public void setLeftTime(String leftTime) {
		this.leftTime = leftTime;
	}

	public String getPayTime() {
		return payTime;
	}

	public void setPayTime(String payTime) {
		this.payTime = payTime;
	}

	public String getDeliveryNo() {
		return deliveryNo;
	}

	public void setDeliveryNo(String deliveryNo) {
		this.deliveryNo = deliveryNo;
	}

	public String getDeliveryTime() {
		return deliveryTime;
	}

	public void setDeliveryTime(String deliveryTime) {
		this.deliveryTime = deliveryTime;
	}

	public String getFinishedTime() {
		return finishedTime;
	}

	public void setFinishedTime(String finishedTime) {
		this.finishedTime = finishedTime;
	}

	public String getCreateTime() {
		return createTime;
	}

	public void setCreateTime(String createTime) {
		this.createTime = createTime;
	}

	public String getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(String updateTime) {
		this.updateTime = updateTime;
	}

	public String getStoreLogo() {
		return storeLogo;
	}

	public void setStoreLogo(String storeLogo) {
		this.storeLogo = storeLogo;
	}

	public String getStoreName() {
		return storeName;
	}

	public void setStoreName(String storeName) {
		this.storeName = storeName;
	}

	public String getPlanType() {
		return planType;
	}

	public void setPlanType(String planType) {
		this.planType = planType;
	}

	public String getUsageDetail() {
		return usageDetail;
	}

	public void setUsageDetail(String usageDetail) {
		this.usageDetail = usageDetail;
	}

	public String getMedicalAdvice() {
		return medicalAdvice;
	}

	public void setMedicalAdvice(String medicalAdvice) {
		this.medicalAdvice = medicalAdvice;
	}

	public Integer getDeductPoints() {
		return deductPoints;
	}

	public void setDeductPoints(Integer deductPoints) {
		this.deductPoints = deductPoints;
	}

	public BigDecimal getDeductPointMoney() {
		return deductPointMoney;
	}

	public void setDeductPointMoney(BigDecimal deductPointMoney) {
		this.deductPointMoney = deductPointMoney;
	}
}
